草庐IT

MySQL RESTRICT 和无操作

全部标签

c# - 如果我为操作系统版本不支持的 API 使用 DllImport (C# .NET),会发生什么情况

我需要调用一些系统API,这些API仅受WindowsVista客户端或Windows2008Server及以上版本的支持。所以,我正在使用DllImport并调用这些方法。但是,我的WPF应用程序还必须支持旧平台(尽管客户端很少)。所以,我的计划是先检测操作系统,然后显示不同的屏幕,而不是调用那些不受支持的API。但我想知道预期的行为应用程序是否会因DllImport失败而无法加载甚至无法在旧平台上运行?我找不到任何关于此的文档。如果是这种情况,那么我将不得不完全避免使用这些API,或者必须为旧操作系统构建一个单独的应用程序版本。稍后我会自己测试并相应地更新到这里。但是,任何人都可以

c - GetKeyNameText 的反向操作

我们可以使用GetKeyNameText()检索表示键名的字符串。有什么方法可以做相反的事情,即获取给定键名的扫描码或虚拟键?我想将键名写入配置文件,以便用户可以轻松编辑它们。当我读入配置文件时,我需要执行与GetKeyNameText()相反的操作。 最佳答案 这不是个好主意,这些名称不是固定的:Thekeynameistranslatedaccordingtothelayoutofthecurrentlyinstalledkeyboard,thusthefunctionmaygivedifferentresultsfordiff

windows - Windows(或其他操作系统)如何更新客户端的背景区域?

或者换个方式问,OnEraseBkgnd()是如何工作的?我正在构建一个自定义控件,我遇到了这个问题。像往常一样,child是矩形。我必须禁用OnEraseBkgnd()并且我只使用OnPaint()。我需要的是有效地清除child身后的区域并且不闪烁。后台缓冲区之类的技术不是一种选择。编辑:我对OnEraseBkgnd()背后的算法非常感兴趣。但任何有帮助的答案也将被接受。 最佳答案 通常在Windows中,减少闪烁的最简单(但不是最有效)的方法是关闭WM_ERASEBKGND通知处理。这是因为如果您在通知处理程序中删除背景,然后

windows - 如何手动确定当前操作系统的 CodePage 和 Locale

有没有办法让我手动让用户查找其Windows操作系统的当前代码页和语言环境?是否有存储该信息的注册表设置?如果该技术一直适用于Windows2000,它也会很有用。 最佳答案 Win32GetACP()function返回到Windows2000以查找ANSI代码页。GetLocaleInfo()函数也适用于Windows2000。使用LOCALE_SYSTEM_DEFAULT(或LOCALE_USER_DEFAULT等)的Locale参数调用它如果您的问题不是如何以编程方式获取此数据,而是非程序员如何查找此信息,那么您可能想在Se

c++ - 移至 64 位操作系统时共享内存性能降低

我遇到了在64位Windows上运行的32位旧版应用程序的问题。有问题的应用程序使用CreateFileMapping创建共享内存。当它在64位Windows上运行时,任何从另一个进程访问此共享内存的尝试都需要大约1秒。共享内存是使用页面保护标志创建的:flProtect=PAGE_READONLY|SEC_NOCACHE|SEC_COMMIT;当使用以下方法创建相同的内存时:flProtect=PAGE_READONLY|SEC_COMMIT;问题消失了。目前这种解决方法是可以接受的,但我们确实有一些设备需要设置SEC_NOCACHE标志。谁能告诉我为什么在这种情况下SEC_NOCA

windows - 能否完全捕获 Windows 控制台应用程序的控制台输出(包括高级操作)?

重定向控制台程序的标准输入/输出是一件微不足道的事情,但如果程序使用高级控制台功能呢?就像输出彩色文本、四处移动光标和直接操作控制台缓冲区一样?是否也可以捕获并重定向到我自己的程序进行处理?注意:我说的是我的应用程序(不一定是控制台应用程序)运行控制台应用程序并将其输入/输出重定向到自身的场景。注意2:最后我想要C#代码,但现在让我们坚持使用裸Win32API和C或C++。无论如何,我认为没有PInvoke是不可能的,所以让我们先了解一下基本原则(如果可能的话)。 最佳答案 与Linux不同,所有颜色IO都不会通过简单的重定向来捕获

c# - 桌面图标操作 - 如何在启用图片旋转主题时获取 SysListView32 的句柄

我正在尝试在桌面上移动图标,一切正常,直到选择了具有图片旋转的主题。对于基本的Windows7主题,SysListView32是SHELLDLL_DefView的子项,后者又是Progman的子项。Butwhenapicturerotationdesktopthemeispicked,SysListView32becomeschildofSHELLDLL_DefViewwhichinturnbecomeschildofWorkerW.不止1个。我应该如何找到指向正确WorkerW的正确HWND。枚举所有桌面窗口并使用类名WorkerW检查每个窗口?[DllImport("user32.

python - PyQt4 Windows - 工具栏操作不起作用。我该如何修复它们?

我在Linux中制作了一个带有工具栏的程序,上面有一些操作。工具栏及其操作在Linux操作系统上完美运行,但当我在Windows机器上运行代码时,操作就不起作用了。一切看起来都与在Linux上一样(是的,我在Windows机器上安装了PyQt4),甚至是工具栏,但是当我单击工具栏上的一个项目时,它只是不执行给定的处理程序。我尝试制作了一个带有工具栏的基本PyQt4程序,只是为了测试这个错误是否是因为我的程序,但结果是一样的。这是不起作用的基本示例程序。fromPyQt4importQtGui,QtCoreimportsysdefaTest(obj=None):print"Ifthisa

windows - 64 位操作系统 (windows) 上的 32 位应用程序

我需要一些帮助来了解32位应用程序如何在64位操作系统上使用内存。一个32位应用程序可以在64位操作系统上使用2GB内存,对吗?这是否意味着并行运行的3个32位应用程序可以寻址6GB的内存...还是3个32位应用程序必须共享操作系统拥有的2-4gb的32位内存?同样,如果我有一个编译为32位的Web服务,在64位机器上的IIS下运行。只要对该web服务的单个请求始终保持在2gb内存使用量以下,重新编译到64位是否有任何意义?我的理论是,IIS为每个请求创建一个新进程,因此整个进程池将能够利用64位机器拥有的所有内存,8或15或20gig或其他。告诉我你的想法,谢谢

c# - IO操作的并发问题

我正在编写一个多线程控制台应用程序,它从Web下载pdf文件并将其本地复制到我们的内容服务器位置(windows服务器)。这也是将文件提供给我们网站的相同位置。我对这种方法持怀疑态度,因为存在并发问题,例如如果网站上的用户从内容服务器请求pdf文件,同时控制台应用程序正在写入或更新文件,则可能存在一个IO异常。(如果原始内容随时间发生变化,应用程序还会对pdf文件进行更新)有没有办法控制并发问题? 最佳答案 您可能希望创建和更新文件的操作是原子的,以便处理这些文件的任何其他进程都能获得正确的版本,而不是仍然打开以供写入的版本。您可以